// 
// $Rev:: 13            $:  Revision of last commit
// $Author:: rvhaverm@g#$:  Author of last commit
// $Date:: 2010-07-25 1#$:  Date of last commit
// 
package agents.exceptions;


/** A class that cannot be instantiated and that returns different kinds of new
 * TASExceptions.
 * 
 * @author Ruben Van Havermaet
 * @version 0.2
 */
public class ExceptionFactory {

  /**
   * Private constructor: cannot be instantiated.
   */
  private ExceptionFactory() {}
  
  
  /** Create a new AuthenticateException.
   * 
   * @param msg a textual message.
   * @return an AuthenticateException ready to be thrown.
   * @see agents.exceptions.AuthenticateException
   */
  public static AuthenticateException newAuthenticationException(String msg){
    return new AuthenticateException(msg);
  }
  
  
//  /** Create a new exception that states that no Receptionist was given.
//   * 
//   * @param msg a textual message.
//   * @return a new NoReceptionistGivenException
//   * @see agents.exceptions.NoReceptionistGivenException
//   */
//  public static 
//  NoReceptionistGivenException newNoReceptionistGivenException(String msg) {
//    
//    return new NoReceptionistGivenException(msg);
//  }
  
  
//  /** Create a new exception that states that a certain method was not
//   * overridden.
//   * 
//   * @param msg a textual message.
//   * @return a new MethodNotOverriddenException
//   * @see agents.exceptions.MethodNotOverriddenException
//   */
//  public static 
//  MethodNotOverriddenException newMethodNotOverriddenException(String msg) {
//    
//    return new MethodNotOverriddenException(msg);
//  }
//  
//  
//  /** Create a new exception that states that the given date was illegal.
//   * 
//   * @param msg a textual message.
//   * @return a new IllegalDateException
//   * @see agents.exceptions.IllegalDateException
//   */ 
//  public static IllegalDateException newIllegalDateException(String msg) {
//    return new IllegalDateException(msg);
//  }
//  
//  
//  /** Create a new exception that states that the given price was illegal.
//   * 
//   * @param msg a textual message.
//   * @return a new IllegalPriceException
//   * @see agents.exceptions.IllegalPriceException
//   */
//  public static IllegalPriceException newIllegalPriceException(String msg) {
//    return new IllegalPriceException(msg);
//  }
//  
//  
  /** Create a new exception that states that a given codebase does not exist.
   * 
   * @param msg a textual message.
   * @return a new IllegalCodeBaseException
   * @see agents.exceptions.IllegalCodeBaseException
   */
  public static 
  IllegalCodeBaseException newIllegalCodeBaseException(String msg) {
    
    return new IllegalCodeBaseException(msg);
  }
//  
//  
//  /** Create a new exception that states that the choice of a certain type of
//   * user interface is illegal.
//   * 
//   * @param msg a textual message.
//   * @return a new IllegalUserInterfaceException
//   * @see agents.exceptions.IllegalUserInterfaceException
//   */
//  public static 
//  IllegalUserInterfaceException newIllegalUserInterfaceException(String msg) {
//    return new IllegalUserInterfaceException(msg);
//  }
//  
//  
//  /** Create a new exception that states that a certain message does not 
//   * exist.
//   * 
//   * @param msg a textual message.
//   * @return a new MessageDoesNotExistException
//   * @see agents.exceptions.MessageDoesNotExistException
//   */
//  public static 
//  MessageDoesNotExistException newMessageDoesNotExistException(String msg) {
//    return new MessageDoesNotExistException(msg);
//  }
}
